Autogenerated HTML docs for v2.2.0-33-gc18b86 
diff --git a/RelNotes/2.3.0.txt b/RelNotes/2.3.0.txt new file mode 100644 index 0000000..fb956b2 --- /dev/null +++ b/RelNotes/2.3.0.txt 
@@ -0,0 +1,56 @@ +Git v2.3 Release Notes +====================== + +Updates since v2.2 +------------------ + +Ports + + * + +UI, Workflows & Features + + * It was cumbersome to use "GIT_SSH" mechanism when the user wanted + to pass an extra set of arguments to the underlying ssh. A new + environment variable GIT_SSH_COMMAND can be used for this. + + * A request to store an empty note via "git notes" meant to remove + note from the object but with --allow-empty we will store a + (surprise!) note that is empty. + + +Performance, Internal Implementation, Development Support etc. + + * + + +Also contains various documentation updates and code clean-ups. + + +Fixes since v2.2 +---------------- + +Unless otherwise noted, all the fixes since v2.2 in the maintenance +track are contained in this release (see the maintenance releases' +notes for details). + + * "git checkout $treeish $path", when $path in the index and the + working tree already matched what is in $treeish at the $path, + still overwrote the $path unnecessarily. + (merge c5326bd jk/checkout-from-tree later to maint). + + * open() emulated on Windows platforms did not give EISDIR upon + an attempt to open a directory for writing. + (merge ba6fad0 js/windows-open-eisdir-error later to maint). + + * A few code paths used abs() when they should have used labs() on + long integers. + (merge 83915ba rs/maint-config-use-labs later to maint). + (merge 31a8aa1 rs/receive-pack-use-labs later to maint). + + * "gitweb" used to depend on a behaviour recent CGI.pm deprecated. + (merge 13dbf46 jk/gitweb-with-newer-cgi-multi-param later to maint). + + * "git init" (hence "git clone") initialized the per-repository + configuration file .git/config with x-bit by mistake. + (merge 1f32ecf mh/config-flip-xbit-back-after-checking later to maint). 
diff --git a/git-notes.html b/git-notes.html index 67ea474..56ef802 100644 --- a/git-notes.html +++ b/git-notes.html 
@@ -749,10 +749,10 @@  <div class="sectionbody">   <div class="verseblock">   <pre class="content"><em>git notes</em> [list [&lt;object&gt;]]  -<em>git notes</em> add [-f] [-F &lt;file&gt; | -m &lt;msg&gt; | (-c | -C) &lt;object&gt;] [&lt;object&gt;]  +<em>git notes</em> add [-f] [--allow-empty] [-F &lt;file&gt; | -m &lt;msg&gt; | (-c | -C) &lt;object&gt;] [&lt;object&gt;]   <em>git notes</em> copy [-f] ( --stdin | &lt;from-object&gt; &lt;to-object&gt; )  -<em>git notes</em> append [-F &lt;file&gt; | -m &lt;msg&gt; | (-c | -C) &lt;object&gt;] [&lt;object&gt;]  -<em>git notes</em> edit [&lt;object&gt;]  +<em>git notes</em> append [--allow-empty] [-F &lt;file&gt; | -m &lt;msg&gt; | (-c | -C) &lt;object&gt;] [&lt;object&gt;]  +<em>git notes</em> edit [--allow-empty] [&lt;object&gt;]   <em>git notes</em> show [&lt;object&gt;]   <em>git notes</em> merge [-v | -q] [-s &lt;strategy&gt; ] &lt;notes-ref&gt;   <em>git notes</em> merge --commit [-v | -q]  @@ -982,6 +982,15 @@  </p>   </dd>   <dt class="hdlist1">  +--allow-empty  +</dt>  +<dd>  +<p>  + Allow an empty note object to be stored. The default behavior is  + to automatically remove empty notes.  +</p>  +</dd>  +<dt class="hdlist1">   --ref &lt;ref&gt;   </dt>   <dd>  @@ -1161,7 +1170,7 @@  <div class="content">   <pre><code>$ cc *.c   $ blob=$(git hash-object -w a.out)  -$ git notes --ref=built add -C "$blob" HEAD</code></pre>  +$ git notes --ref=built add --allow-empty -C "$blob" HEAD</code></pre>   </div></div>   <div class="paragraph"><p>(You cannot simply use <code>git notes --ref=built add -F a.out HEAD</code>   because that is not binary-safe.)  @@ -1304,7 +1313,7 @@  <div id="footnotes"><hr /></div>   <div id="footer">   <div id="footer-text">  -Last updated 2014-04-08 12:47:26 PDT  +Last updated 2014-12-05 15:37:36 PST   </div>   </div>   </body>  
diff --git a/git-notes.txt b/git-notes.txt index 310f0a5..851518d 100644 --- a/git-notes.txt +++ b/git-notes.txt 
@@ -9,10 +9,10 @@  --------  [verse]  'git notes' [list [<object>]] -'git notes' add [-f] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>] +'git notes' add [-f] [--allow-empty] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]  'git notes' copy [-f] ( --stdin | <from-object> <to-object> ) -'git notes' append [-F <file> | -m <msg> | (-c | -C) <object>] [<object>] -'git notes' edit [<object>] +'git notes' append [--allow-empty] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>] +'git notes' edit [--allow-empty] [<object>]  'git notes' show [<object>]  'git notes' merge [-v | -q] [-s <strategy> ] <notes-ref>  'git notes' merge --commit [-v | -q] @@ -155,6 +155,10 @@ 	Like '-C', but with '-c' the editor is invoked, so that 	the user can further edit the note message.   +--allow-empty:: +	Allow an empty note object to be stored. The default behavior is +	to automatically remove empty notes. +  --ref <ref>:: 	Manipulate the notes tree in <ref>. This overrides 	'GIT_NOTES_REF' and the "core.notesRef" configuration. The ref @@ -287,7 +291,7 @@  ------------  $ cc *.c  $ blob=$(git hash-object -w a.out) -$ git notes --ref=built add -C "$blob" HEAD +$ git notes --ref=built add --allow-empty -C "$blob" HEAD  ------------    (You cannot simply use `git notes --ref=built add -F a.out HEAD` 
diff --git a/git.html b/git.html index 7e5158d..4f039ea 100644 --- a/git.html +++ b/git.html 
@@ -2618,21 +2618,25 @@  <dt class="hdlist1">   <em>GIT_SSH</em>   </dt>  +<dt class="hdlist1">  +<em>GIT_SSH_COMMAND</em>  +</dt>   <dd>   <p>  - If this environment variable is set then <em>git fetch</em>  - and <em>git push</em> will use this command instead  - of <em>ssh</em> when they need to connect to a remote system.  - The <em>$GIT_SSH</em> command will be given exactly two or  - four arguments: the <em>username@host</em> (or just <em>host</em>)  - from the URL and the shell command to execute on that  - remote system, optionally preceded by <em>-p</em> (literally) and  - the <em>port</em> from the URL when it specifies something other  - than the default SSH port.  + If either of these environment variables is set then <em>git fetch</em>  + and <em>git push</em> will use the specified command instead of <em>ssh</em>  + when they need to connect to a remote system.  + The command will be given exactly two or four arguments: the  + <em>username@host</em> (or just <em>host</em>) from the URL and the shell  + command to execute on that remote system, optionally preceded by  + <em>-p</em> (literally) and the <em>port</em> from the URL when it specifies  + something other than the default SSH port.   </p>  -<div class="paragraph"><p>To pass options to the program that you want to list in GIT_SSH  -you will need to wrap the program and options into a shell script,  -then set GIT_SSH to refer to the shell script.</p></div>  +<div class="paragraph"><p><code>$GIT_SSH_COMMAND</code> takes precedence over <code>$GIT_SSH</code>, and is interpreted  +by the shell, which allows additional arguments to be included.  +<code>$GIT_SSH</code> on the other hand must be just the path to a program  +(which can be a wrapper shell script, if additional arguments are  +needed).</p></div>   <div class="paragraph"><p>Usually it is easier to configure any desired options through your   personal <code>.ssh/config</code> file. Please consult your ssh documentation   for further details.</p></div>  @@ -2918,7 +2922,7 @@  <div id="footnotes"><hr /></div>   <div id="footer">   <div id="footer-text">  -Last updated 2014-11-26 14:53:08 PST  +Last updated 2014-12-05 15:37:36 PST   </div>   </div>   </body>  
diff --git a/git.txt b/git.txt index afb48d3..dd17254 100644 --- a/git.txt +++ b/git.txt 
@@ -881,19 +881,21 @@ 	and the `core.editor` option in linkgit:git-config[1].    'GIT_SSH':: -	If this environment variable is set then 'git fetch' -	and 'git push' will use this command instead -	of 'ssh' when they need to connect to a remote system. -	The '$GIT_SSH' command will be given exactly two or -	four arguments: the 'username@host' (or just 'host') -	from the URL and the shell command to execute on that -	remote system, optionally preceded by '-p' (literally) and -	the 'port' from the URL when it specifies something other -	than the default SSH port. +'GIT_SSH_COMMAND':: +	If either of these environment variables is set then 'git fetch' +	and 'git push' will use the specified command instead of 'ssh' +	when they need to connect to a remote system. +	The command will be given exactly two or four arguments: the +	'username@host' (or just 'host') from the URL and the shell +	command to execute on that remote system, optionally preceded by +	'-p' (literally) and the 'port' from the URL when it specifies +	something other than the default SSH port.  + -To pass options to the program that you want to list in GIT_SSH -you will need to wrap the program and options into a shell script, -then set GIT_SSH to refer to the shell script. +`$GIT_SSH_COMMAND` takes precedence over `$GIT_SSH`, and is interpreted +by the shell, which allows additional arguments to be included. +`$GIT_SSH` on the other hand must be just the path to a program +(which can be a wrapper shell script, if additional arguments are +needed).  +  Usually it is easier to configure any desired options through your  personal `.ssh/config` file. Please consult your ssh documentation